import type {
  ExtensibleEntityDto,
  ExtensibleObject,
  IHasConcurrencyStamp,
  PagedAndSortedResultRequestDto
} from '../type';

export interface TenantDto extends ExtensibleEntityDto<string>, IHasConcurrencyStamp {
  name: string;
}

export interface GetTenantsInput extends PagedAndSortedResultRequestDto {
  filter: string;
}

export interface TenantCreateOrUpdateDtoBase extends ExtensibleObject {
  name: string;
}

export interface TenantCreateDto extends TenantCreateOrUpdateDtoBase {
  adminEmailAddress: string;
  adminPassword: string;
}

export interface TenantUpdateDto extends TenantCreateOrUpdateDtoBase, IHasConcurrencyStamp {}
